package com.expert.miniapp.dto;

import lombok.Data;
import java.time.LocalDateTime;

/**
 * DemandHistoryDTO - 需求历史记录DTO
 *
 * 用于需求列表展示，包含需求基本信息和推荐统计
 *
 * @author System
 * @since 2025-10-31
 */
@Data
public class DemandHistoryDTO {

    /**
     * 需求ID
     */
    private String demandId;

    /**
     * 用户ID
     */
    private String userId;

    /**
     * 需求状态（DRAFT/SUBMITTED）
     */
    private String demandStatus;

    /**
     * 研究目标（展示在列表卡片上）
     */
    private String researchObjective;

    /**
     * 技术领域
     */
    private String technologyField;

    /**
     * 需求创建时间
     */
    private LocalDateTime createdAt;

    /**
     * 需求提交时间
     */
    private LocalDateTime submittedAt;

    /**
     * 推荐记录数量
     */
    private Integer recommendationCount;

    /**
     * 最新推荐记录信息（嵌套对象）
     */
    private LastRecommendation lastRecommendation;

    /**
     * LastRecommendation内部类 - 最新推荐信息
     */
    @Data
    public static class LastRecommendation {

        /**
         * 推荐ID
         */
        private String recommendationId;

        /**
         * 匹配资源总数
         */
        private Integer totalCount;

        /**
         * 科研专家数量
         */
        private Integer matchedExpertCount;

        /**
         * 科技成果数量
         */
        private Integer matchedAchievementCount;

        /**
         * 仪器设备数量
         */
        private Integer matchedInstrumentCount;

        /**
         * 实验室数量
         */
        private Integer matchedLaboratoryCount;

        /**
         * 其他资源数量
         */
        private Integer matchedOtherCount;

        /**
         * 推荐创建时间
         */
        private LocalDateTime createdAt;
    }
}
